// pages/selectResult/selectResult.js
Page({
  data: {
    searchResult: [],
    inputValue: "",
    devices:[],
  },
  onLoad: function (options) {
    const devices = JSON.parse(options.devices); 
    this.setData({ devices }); 
  },
  handleInput: function (e) {
    // 获取输入框的值
    const { value } = e.detail
    // 合法性验证
    if (!value.trim()) {
      this.setData({
        searchResult: [],
      })
      // 值不合法
      return;
    }
    /**
     * 防抖动功能
     * 1 如果第一次输入的值合法，会执行this.TimeId这个定时器，然后一秒钟之后发送请求
     * 2 如果在这1秒钟的延迟内，用户重新做了输入，重新触发handleInput方法时，会执行clearTimeout
     *   将上一个定时器请求杀掉，然后再执行新的定时器函数，直到用户1庙后都没有新的输入后，才会发送请求
     */
    clearTimeout(this.TimeId)

    this.TimeId = setTimeout(() => {
      this.qSearch(value)
    }, 1000)
  },
  qSearch: function (query) {
    wx.showLoading({
      title: '加载中...',
    });   
    const filteredDevices = this.data.devices.filter(device => device.toLowerCase().includes(query.toLowerCase()));
    setTimeout(() => {
      wx.hideLoading();
      this.setData({
        searchResult: filteredDevices, 
      });
    }, 1000);
  },
    inputWifiName: function (e) {
    const query = e.detail.value;
    this.qSearch(query);
  },
  handleCanle: function () {
    this.setData({
      searchResult: [],
      inputValue: ""
    })
  },
  gotoScene: function (e) {
    const deviceName = e.currentTarget.dataset.device;
    wx.navigateTo({
      url: `../manager/manager?device=${deviceName}`,
    });
  },

})